class Solution {
public:
    int g_maxValue=6;
    vector<int> numberOfDice(int n) {
        if(n<1)
            return vector<int>();
        vector<int> dp(g_maxValue*n+1,0);
        dp[0]=1;
        for(int i=1;i<=n;i++){
            for(int j=g_maxValue*i;j>=0;j--){//这个j>=0容易错
                int limit=min(j,g_maxValue);
                dp[j]=0;//这个步骤容易忘写
                for(int k=1;k<=limit;k++)
                    dp[j]+=dp[j-k];
            }
        }
        vector<int> res(dp.begin()+n,dp.end());
        return res;
    }
};
